﻿/// <reference path="../Scripts/msls-1.0.0.js" />

window.myapp = msls.application;

(function (lightSwitchApplication) {

    var $Entity = msls.Entity,
        $DataService = msls.DataService,
        $DataWorkspace = msls.DataWorkspace,
        $defineEntity = msls._defineEntity,
        $defineDataService = msls._defineDataService,
        $defineDataWorkspace = msls._defineDataWorkspace,
        $DataServiceQuery = msls.DataServiceQuery,
        $toODataString = msls._toODataString;

    function Alignment(entitySet) {
        /// <summary>
        /// Represents the Alignment entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this alignment.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this alignment.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this alignment.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this alignment.
        /// </field>
        /// <field name="Abbreviation" type="String">
        /// Gets or sets the abbreviation for this alignment.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this alignment.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this alignment.
        /// </field>
        /// <field name="Deities" type="msls.EntityCollection">
        /// Gets the deities for this alignment.
        /// </field>
        /// <field name="Characters" type="msls.EntityCollection">
        /// Gets the characters for this alignment.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this alignment.
        /// </field>
        /// <field name="details" type="msls.application.Alignment.Details">
        /// Gets the details for this alignment.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function BloodlineDerivation(entitySet) {
        /// <summary>
        /// Represents the BloodlineDerivation entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this bloodlineDerivation.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this bloodlineDerivation.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this bloodlineDerivation.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this bloodlineDerivation.
        /// </field>
        /// <field name="Abbreviation" type="String">
        /// Gets or sets the abbreviation for this bloodlineDerivation.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this bloodlineDerivation.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this bloodlineDerivation.
        /// </field>
        /// <field name="Characters" type="msls.EntityCollection">
        /// Gets the characters for this bloodlineDerivation.
        /// </field>
        /// <field name="BloodAbilities" type="msls.EntityCollection">
        /// Gets the bloodAbilities for this bloodlineDerivation.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this bloodlineDerivation.
        /// </field>
        /// <field name="details" type="msls.application.BloodlineDerivation.Details">
        /// Gets the details for this bloodlineDerivation.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function BloodlineStrength(entitySet) {
        /// <summary>
        /// Represents the BloodlineStrength entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this bloodlineStrength.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this bloodlineStrength.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this bloodlineStrength.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this bloodlineStrength.
        /// </field>
        /// <field name="Abbreviation" type="String">
        /// Gets or sets the abbreviation for this bloodlineStrength.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this bloodlineStrength.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this bloodlineStrength.
        /// </field>
        /// <field name="Characters" type="msls.EntityCollection">
        /// Gets the characters for this bloodlineStrength.
        /// </field>
        /// <field name="BloodAbilities" type="msls.EntityCollection">
        /// Gets the bloodAbilities for this bloodlineStrength.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this bloodlineStrength.
        /// </field>
        /// <field name="details" type="msls.application.BloodlineStrength.Details">
        /// Gets the details for this bloodlineStrength.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function CharacterClass(entitySet) {
        /// <summary>
        /// Represents the CharacterClass entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this characterClass.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this characterClass.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this characterClass.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this characterClass.
        /// </field>
        /// <field name="Abbreviation" type="String">
        /// Gets or sets the abbreviation for this characterClass.
        /// </field>
        /// <field name="Picture" type="Array">
        /// Gets or sets the picture for this characterClass.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this characterClass.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this characterClass.
        /// </field>
        /// <field name="RelationClassTraits" type="msls.EntityCollection">
        /// Gets the relationClassTraits for this characterClass.
        /// </field>
        /// <field name="RelationCharacterClasses" type="msls.EntityCollection">
        /// Gets the relationCharacterClasses for this characterClass.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this characterClass.
        /// </field>
        /// <field name="details" type="msls.application.CharacterClass.Details">
        /// Gets the details for this characterClass.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function Skill(entitySet) {
        /// <summary>
        /// Represents the Skill entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this skill.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this skill.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this skill.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this skill.
        /// </field>
        /// <field name="Abbreviation" type="String">
        /// Gets or sets the abbreviation for this skill.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this skill.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this skill.
        /// </field>
        /// <field name="RelationCharacterSkill" type="msls.EntityCollection">
        /// Gets the relationCharacterSkill for this skill.
        /// </field>
        /// <field name="RelationSkillTraits" type="msls.EntityCollection">
        /// Gets the relationSkillTraits for this skill.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this skill.
        /// </field>
        /// <field name="details" type="msls.application.Skill.Details">
        /// Gets the details for this skill.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function Race(entitySet) {
        /// <summary>
        /// Represents the Race entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this race.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this race.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this race.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this race.
        /// </field>
        /// <field name="Abbreviation" type="String">
        /// Gets or sets the abbreviation for this race.
        /// </field>
        /// <field name="Picture" type="Array">
        /// Gets or sets the picture for this race.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this race.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this race.
        /// </field>
        /// <field name="RelationRaceTraits" type="msls.EntityCollection">
        /// Gets the relationRaceTraits for this race.
        /// </field>
        /// <field name="Characters" type="msls.EntityCollection">
        /// Gets the characters for this race.
        /// </field>
        /// <field name="DomainProvinces" type="msls.EntityCollection">
        /// Gets the domainProvinces for this race.
        /// </field>
        /// <field name="BaseLandUnits" type="msls.EntityCollection">
        /// Gets the baseLandUnits for this race.
        /// </field>
        /// <field name="BaseSeaUnits" type="msls.EntityCollection">
        /// Gets the baseSeaUnits for this race.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this race.
        /// </field>
        /// <field name="details" type="msls.application.Race.Details">
        /// Gets the details for this race.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function Player(entitySet) {
        /// <summary>
        /// Represents the Player entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this player.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this player.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this player.
        /// </field>
        /// <field name="RealName" type="String">
        /// Gets or sets the realName for this player.
        /// </field>
        /// <field name="UserName" type="String">
        /// Gets or sets the userName for this player.
        /// </field>
        /// <field name="Email" type="String">
        /// Gets or sets the email for this player.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this player.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this player.
        /// </field>
        /// <field name="Characters" type="msls.EntityCollection">
        /// Gets the characters for this player.
        /// </field>
        /// <field name="Notifications" type="msls.EntityCollection">
        /// Gets the notifications for this player.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this player.
        /// </field>
        /// <field name="details" type="msls.application.Player.Details">
        /// Gets the details for this player.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function Deity(entitySet) {
        /// <summary>
        /// Represents the Deity entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this deity.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this deity.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this deity.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this deity.
        /// </field>
        /// <field name="Abbreviation" type="String">
        /// Gets or sets the abbreviation for this deity.
        /// </field>
        /// <field name="Type" type="Number">
        /// Gets or sets the type for this deity.
        /// </field>
        /// <field name="Alignment" type="msls.application.Alignment">
        /// Gets or sets the alignment for this deity.
        /// </field>
        /// <field name="Symbol" type="Array">
        /// Gets or sets the symbol for this deity.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this deity.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this deity.
        /// </field>
        /// <field name="Characters" type="msls.EntityCollection">
        /// Gets the characters for this deity.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this deity.
        /// </field>
        /// <field name="details" type="msls.application.Deity.Details">
        /// Gets the details for this deity.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function Character(entitySet) {
        /// <summary>
        /// Represents the Character entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this character.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this character.
        /// </field>
        /// <field name="State" type="Number">
        /// Gets or sets the state for this character.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this character.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this character.
        /// </field>
        /// <field name="Owner" type="msls.application.Player">
        /// Gets or sets the owner for this character.
        /// </field>
        /// <field name="Gender" type="String">
        /// Gets or sets the gender for this character.
        /// </field>
        /// <field name="Race" type="msls.application.Race">
        /// Gets or sets the race for this character.
        /// </field>
        /// <field name="Alignment" type="msls.application.Alignment">
        /// Gets or sets the alignment for this character.
        /// </field>
        /// <field name="BloodlineDerivation" type="msls.application.BloodlineDerivation">
        /// Gets or sets the bloodlineDerivation for this character.
        /// </field>
        /// <field name="BloodlineStrength" type="msls.application.BloodlineStrength">
        /// Gets or sets the bloodlineStrength for this character.
        /// </field>
        /// <field name="BloodlineScore" type="Number">
        /// Gets or sets the bloodlineScore for this character.
        /// </field>
        /// <field name="Faith" type="msls.application.Deity">
        /// Gets or sets the faith for this character.
        /// </field>
        /// <field name="Portrait" type="Array">
        /// Gets or sets the portrait for this character.
        /// </field>
        /// <field name="CharacterSheetData" type="Array">
        /// Gets or sets the characterSheetData for this character.
        /// </field>
        /// <field name="CharacterSheetFilename" type="String">
        /// Gets or sets the characterSheetFilename for this character.
        /// </field>
        /// <field name="RPSaved" type="Number">
        /// Gets or sets the rPSaved for this character.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this character.
        /// </field>
        /// <field name="OwnerInformation" type="String">
        /// Gets or sets the ownerInformation for this character.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this character.
        /// </field>
        /// <field name="RelationCharacterClasses" type="msls.EntityCollection">
        /// Gets the relationCharacterClasses for this character.
        /// </field>
        /// <field name="RelationCharacterSkills" type="msls.EntityCollection">
        /// Gets the relationCharacterSkills for this character.
        /// </field>
        /// <field name="RelationCharacterBloodAbilities" type="msls.EntityCollection">
        /// Gets the relationCharacterBloodAbilities for this character.
        /// </field>
        /// <field name="LieutenantOf" type="msls.application.Character">
        /// Gets or sets the lieutenantOf for this character.
        /// </field>
        /// <field name="Lieutenants" type="msls.EntityCollection">
        /// Gets the lieutenants for this character.
        /// </field>
        /// <field name="Domains" type="msls.EntityCollection">
        /// Gets the domains for this character.
        /// </field>
        /// <field name="Army" type="msls.application.Army">
        /// Gets or sets the army for this character.
        /// </field>
        /// <field name="CustomRealmSpells" type="msls.EntityCollection">
        /// Gets the customRealmSpells for this character.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this character.
        /// </field>
        /// <field name="details" type="msls.application.Character.Details">
        /// Gets the details for this character.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function Domain(entitySet) {
        /// <summary>
        /// Represents the Domain entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this domain.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this domain.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this domain.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this domain.
        /// </field>
        /// <field name="Abbreviation" type="String">
        /// Gets or sets the abbreviation for this domain.
        /// </field>
        /// <field name="Ruler" type="msls.application.Character">
        /// Gets or sets the ruler for this domain.
        /// </field>
        /// <field name="CoatOfArms" type="Array">
        /// Gets or sets the coatOfArms for this domain.
        /// </field>
        /// <field name="GBSaved" type="Number">
        /// Gets or sets the gBSaved for this domain.
        /// </field>
        /// <field name="CourtLevel" type="Number">
        /// Gets or sets the courtLevel for this domain.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this domain.
        /// </field>
        /// <field name="OwnerInformation" type="String">
        /// Gets or sets the ownerInformation for this domain.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this domain.
        /// </field>
        /// <field name="Provinces" type="msls.EntityCollection">
        /// Gets the provinces for this domain.
        /// </field>
        /// <field name="LawHoldings" type="msls.EntityCollection">
        /// Gets the lawHoldings for this domain.
        /// </field>
        /// <field name="GuildHoldings" type="msls.EntityCollection">
        /// Gets the guildHoldings for this domain.
        /// </field>
        /// <field name="TempleHoldings" type="msls.EntityCollection">
        /// Gets the templeHoldings for this domain.
        /// </field>
        /// <field name="SourceHoldings" type="msls.EntityCollection">
        /// Gets the sourceHoldings for this domain.
        /// </field>
        /// <field name="Armies" type="msls.EntityCollection">
        /// Gets the armies for this domain.
        /// </field>
        /// <field name="SpecialBuildings" type="msls.EntityCollection">
        /// Gets the specialBuildings for this domain.
        /// </field>
        /// <field name="SpecialLandUnits" type="msls.EntityCollection">
        /// Gets the specialLandUnits for this domain.
        /// </field>
        /// <field name="SpecialSeaUnits" type="msls.EntityCollection">
        /// Gets the specialSeaUnits for this domain.
        /// </field>
        /// <field name="DomainTurns" type="msls.EntityCollection">
        /// Gets the domainTurns for this domain.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this domain.
        /// </field>
        /// <field name="details" type="msls.application.Domain.Details">
        /// Gets the details for this domain.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function RealmSpell(entitySet) {
        /// <summary>
        /// Represents the RealmSpell entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this realmSpell.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this realmSpell.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this realmSpell.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this realmSpell.
        /// </field>
        /// <field name="Researcher" type="msls.application.Character">
        /// Gets or sets the researcher for this realmSpell.
        /// </field>
        /// <field name="Type" type="Number">
        /// Gets or sets the type for this realmSpell.
        /// </field>
        /// <field name="CasterLevel" type="Number">
        /// Gets or sets the casterLevel for this realmSpell.
        /// </field>
        /// <field name="HoldingLevel" type="Number">
        /// Gets or sets the holdingLevel for this realmSpell.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this realmSpell.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this realmSpell.
        /// </field>
        /// <field name="OwnerInformation" type="String">
        /// Gets or sets the ownerInformation for this realmSpell.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this realmSpell.
        /// </field>
        /// <field name="details" type="msls.application.RealmSpell.Details">
        /// Gets the details for this realmSpell.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function BaseAction(entitySet) {
        /// <summary>
        /// Represents the BaseAction entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this baseAction.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this baseAction.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this baseAction.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this baseAction.
        /// </field>
        /// <field name="Type" type="Number">
        /// Gets or sets the type for this baseAction.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this baseAction.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this baseAction.
        /// </field>
        /// <field name="DomainActions" type="msls.EntityCollection">
        /// Gets the domainActions for this baseAction.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this baseAction.
        /// </field>
        /// <field name="details" type="msls.application.BaseAction.Details">
        /// Gets the details for this baseAction.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function BaseBuilding(entitySet) {
        /// <summary>
        /// Represents the BaseBuilding entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this baseBuilding.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this baseBuilding.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this baseBuilding.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this baseBuilding.
        /// </field>
        /// <field name="MaximumLevel" type="Number">
        /// Gets or sets the maximumLevel for this baseBuilding.
        /// </field>
        /// <field name="Designer" type="msls.application.Domain">
        /// Gets or sets the designer for this baseBuilding.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this baseBuilding.
        /// </field>
        /// <field name="OwnerInformation" type="String">
        /// Gets or sets the ownerInformation for this baseBuilding.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this baseBuilding.
        /// </field>
        /// <field name="RelationBaseBuildingTraits" type="msls.EntityCollection">
        /// Gets the relationBaseBuildingTraits for this baseBuilding.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this baseBuilding.
        /// </field>
        /// <field name="details" type="msls.application.BaseBuilding.Details">
        /// Gets the details for this baseBuilding.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function Trait(entitySet) {
        /// <summary>
        /// Represents the Trait entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this trait.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this trait.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this trait.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this trait.
        /// </field>
        /// <field name="Type" type="String">
        /// Gets or sets the type for this trait.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this trait.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this trait.
        /// </field>
        /// <field name="RelationRaceTrait" type="msls.EntityCollection">
        /// Gets the relationRaceTrait for this trait.
        /// </field>
        /// <field name="RelationClassTrait" type="msls.EntityCollection">
        /// Gets the relationClassTrait for this trait.
        /// </field>
        /// <field name="RelationTraitModifiers" type="msls.EntityCollection">
        /// Gets the relationTraitModifiers for this trait.
        /// </field>
        /// <field name="RelationBaseProvinceTraits" type="msls.EntityCollection">
        /// Gets the relationBaseProvinceTraits for this trait.
        /// </field>
        /// <field name="RelationSkillTraitsCollection" type="msls.EntityCollection">
        /// Gets the relationSkillTraitsCollection for this trait.
        /// </field>
        /// <field name="RelationBloodAbilityTraits" type="msls.EntityCollection">
        /// Gets the relationBloodAbilityTraits for this trait.
        /// </field>
        /// <field name="RelationBaseBuildingTraits" type="msls.EntityCollection">
        /// Gets the relationBaseBuildingTraits for this trait.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this trait.
        /// </field>
        /// <field name="details" type="msls.application.Trait.Details">
        /// Gets the details for this trait.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function BaseProvince(entitySet) {
        /// <summary>
        /// Represents the BaseProvince entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this baseProvince.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this baseProvince.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this baseProvince.
        /// </field>
        /// <field name="Region" type="String">
        /// Gets or sets the region for this baseProvince.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this baseProvince.
        /// </field>
        /// <field name="Terrain" type="msls.application.Terrain">
        /// Gets or sets the terrain for this baseProvince.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this baseProvince.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this baseProvince.
        /// </field>
        /// <field name="Neighbours" type="msls.EntityCollection">
        /// In this relation, this province is the Start of the relation.
        /// </field>
        /// <field name="InvertedNeighbours" type="msls.EntityCollection">
        /// In this relation, this province is the End of the relation.
        /// </field>
        /// <field name="DomainProvince" type="msls.application.DomainProvince">
        /// Gets or sets the domainProvince for this baseProvince.
        /// </field>
        /// <field name="RelationBaseProvinceTraits" type="msls.EntityCollection">
        /// Gets the relationBaseProvinceTraits for this baseProvince.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this baseProvince.
        /// </field>
        /// <field name="details" type="msls.application.BaseProvince.Details">
        /// Gets the details for this baseProvince.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function Terrain(entitySet) {
        /// <summary>
        /// Represents the Terrain entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this terrain.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this terrain.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this terrain.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this terrain.
        /// </field>
        /// <field name="MaximumPopulation" type="Number">
        /// Gets or sets the maximumPopulation for this terrain.
        /// </field>
        /// <field name="MaximumMagic" type="Number">
        /// Gets or sets the maximumMagic for this terrain.
        /// </field>
        /// <field name="MovementCost" type="Number">
        /// Gets or sets the movementCost for this terrain.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this terrain.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this terrain.
        /// </field>
        /// <field name="BaseProvinces" type="msls.EntityCollection">
        /// Gets the baseProvinces for this terrain.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this terrain.
        /// </field>
        /// <field name="details" type="msls.application.Terrain.Details">
        /// Gets the details for this terrain.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function RelationRaceTrait(entitySet) {
        /// <summary>
        /// Represents the RelationRaceTrait entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this relationRaceTrait.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this relationRaceTrait.
        /// </field>
        /// <field name="Race" type="msls.application.Race">
        /// Gets or sets the race for this relationRaceTrait.
        /// </field>
        /// <field name="Trait" type="msls.application.Trait">
        /// Gets or sets the trait for this relationRaceTrait.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this relationRaceTrait.
        /// </field>
        /// <field name="details" type="msls.application.RelationRaceTrait.Details">
        /// Gets the details for this relationRaceTrait.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function RelationClassTrait(entitySet) {
        /// <summary>
        /// Represents the RelationClassTrait entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this relationClassTrait.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this relationClassTrait.
        /// </field>
        /// <field name="CharacterClass" type="msls.application.CharacterClass">
        /// Gets or sets the characterClass for this relationClassTrait.
        /// </field>
        /// <field name="Trait" type="msls.application.Trait">
        /// Gets or sets the trait for this relationClassTrait.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this relationClassTrait.
        /// </field>
        /// <field name="details" type="msls.application.RelationClassTrait.Details">
        /// Gets the details for this relationClassTrait.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function RelationBaseProvinceBaseProvince(entitySet) {
        /// <summary>
        /// Represents the RelationBaseProvinceBaseProvince entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this relationBaseProvinceBaseProvince.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this relationBaseProvinceBaseProvince.
        /// </field>
        /// <field name="StartProvince" type="msls.application.BaseProvince">
        /// Gets or sets the startProvince for this relationBaseProvinceBaseProvince.
        /// </field>
        /// <field name="EndProvince" type="msls.application.BaseProvince">
        /// Gets or sets the endProvince for this relationBaseProvinceBaseProvince.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this relationBaseProvinceBaseProvince.
        /// </field>
        /// <field name="details" type="msls.application.RelationBaseProvinceBaseProvince.Details">
        /// Gets the details for this relationBaseProvinceBaseProvince.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function RelationCharacterClass(entitySet) {
        /// <summary>
        /// Represents the RelationCharacterClass entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this relationCharacterClass.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this relationCharacterClass.
        /// </field>
        /// <field name="Character" type="msls.application.Character">
        /// Gets or sets the character for this relationCharacterClass.
        /// </field>
        /// <field name="CharacterClass" type="msls.application.CharacterClass">
        /// Gets or sets the characterClass for this relationCharacterClass.
        /// </field>
        /// <field name="Level" type="Number">
        /// Gets or sets the level for this relationCharacterClass.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this relationCharacterClass.
        /// </field>
        /// <field name="details" type="msls.application.RelationCharacterClass.Details">
        /// Gets the details for this relationCharacterClass.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function RelationCharacterSkill(entitySet) {
        /// <summary>
        /// Represents the RelationCharacterSkill entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this relationCharacterSkill.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this relationCharacterSkill.
        /// </field>
        /// <field name="Character" type="msls.application.Character">
        /// Gets or sets the character for this relationCharacterSkill.
        /// </field>
        /// <field name="Skill" type="msls.application.Skill">
        /// Gets or sets the skill for this relationCharacterSkill.
        /// </field>
        /// <field name="Level" type="Number">
        /// Gets or sets the level for this relationCharacterSkill.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this relationCharacterSkill.
        /// </field>
        /// <field name="details" type="msls.application.RelationCharacterSkill.Details">
        /// Gets the details for this relationCharacterSkill.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function DomainProvince(entitySet) {
        /// <summary>
        /// Represents the DomainProvince entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this domainProvince.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this domainProvince.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this domainProvince.
        /// </field>
        /// <field name="BaseProvince" type="msls.application.BaseProvince">
        /// Gets or sets the baseProvince for this domainProvince.
        /// </field>
        /// <field name="Domain" type="msls.application.Domain">
        /// Gets or sets the domain for this domainProvince.
        /// </field>
        /// <field name="Race" type="msls.application.Race">
        /// Gets or sets the race for this domainProvince.
        /// </field>
        /// <field name="PopulationLevel" type="Number">
        /// Gets or sets the populationLevel for this domainProvince.
        /// </field>
        /// <field name="FortificationLevel" type="Number">
        /// Gets or sets the fortificationLevel for this domainProvince.
        /// </field>
        /// <field name="Taxes" type="Number">
        /// Gets or sets the taxes for this domainProvince.
        /// </field>
        /// <field name="Loyalty" type="Number">
        /// Gets or sets the loyalty for this domainProvince.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this domainProvince.
        /// </field>
        /// <field name="OwnerInformation" type="String">
        /// Gets or sets the ownerInformation for this domainProvince.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this domainProvince.
        /// </field>
        /// <field name="GuildHoldings" type="msls.EntityCollection">
        /// Gets the guildHoldings for this domainProvince.
        /// </field>
        /// <field name="LawHoldings" type="msls.EntityCollection">
        /// Gets the lawHoldings for this domainProvince.
        /// </field>
        /// <field name="TempleHoldings" type="msls.EntityCollection">
        /// Gets the templeHoldings for this domainProvince.
        /// </field>
        /// <field name="SourceHoldings" type="msls.EntityCollection">
        /// Gets the sourceHoldings for this domainProvince.
        /// </field>
        /// <field name="Armies" type="msls.EntityCollection">
        /// Gets the armies for this domainProvince.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this domainProvince.
        /// </field>
        /// <field name="details" type="msls.application.DomainProvince.Details">
        /// Gets the details for this domainProvince.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function HoldingLaw(entitySet) {
        /// <summary>
        /// Represents the HoldingLaw entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this holdingLaw.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this holdingLaw.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this holdingLaw.
        /// </field>
        /// <field name="Owner" type="msls.application.Domain">
        /// Gets or sets the owner for this holdingLaw.
        /// </field>
        /// <field name="Province" type="msls.application.DomainProvince">
        /// Gets or sets the province for this holdingLaw.
        /// </field>
        /// <field name="Level" type="Number">
        /// Gets or sets the level for this holdingLaw.
        /// </field>
        /// <field name="FortificationLevel" type="Number">
        /// Gets or sets the fortificationLevel for this holdingLaw.
        /// </field>
        /// <field name="IsContested" type="Boolean">
        /// Gets or sets the isContested for this holdingLaw.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this holdingLaw.
        /// </field>
        /// <field name="OwnerInformation" type="String">
        /// Gets or sets the ownerInformation for this holdingLaw.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this holdingLaw.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this holdingLaw.
        /// </field>
        /// <field name="details" type="msls.application.HoldingLaw.Details">
        /// Gets the details for this holdingLaw.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function HoldingGuild(entitySet) {
        /// <summary>
        /// Represents the HoldingGuild entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this holdingGuild.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this holdingGuild.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this holdingGuild.
        /// </field>
        /// <field name="Owner" type="msls.application.Domain">
        /// Gets or sets the owner for this holdingGuild.
        /// </field>
        /// <field name="Province" type="msls.application.DomainProvince">
        /// Gets or sets the province for this holdingGuild.
        /// </field>
        /// <field name="Level" type="Number">
        /// Gets or sets the level for this holdingGuild.
        /// </field>
        /// <field name="FortificationLevel" type="Number">
        /// Gets or sets the fortificationLevel for this holdingGuild.
        /// </field>
        /// <field name="IsContested" type="Boolean">
        /// Gets or sets the isContested for this holdingGuild.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this holdingGuild.
        /// </field>
        /// <field name="OwnerInformation" type="String">
        /// Gets or sets the ownerInformation for this holdingGuild.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this holdingGuild.
        /// </field>
        /// <field name="TradeRoutesStarting" type="msls.EntityCollection">
        /// Gets the tradeRoutesStarting for this holdingGuild.
        /// </field>
        /// <field name="TradeRoutesEnding" type="msls.EntityCollection">
        /// Gets the tradeRoutesEnding for this holdingGuild.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this holdingGuild.
        /// </field>
        /// <field name="details" type="msls.application.HoldingGuild.Details">
        /// Gets the details for this holdingGuild.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function HoldingTemple(entitySet) {
        /// <summary>
        /// Represents the HoldingTemple entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this holdingTemple.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this holdingTemple.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this holdingTemple.
        /// </field>
        /// <field name="Owner" type="msls.application.Domain">
        /// Gets or sets the owner for this holdingTemple.
        /// </field>
        /// <field name="Province" type="msls.application.DomainProvince">
        /// Gets or sets the province for this holdingTemple.
        /// </field>
        /// <field name="Level" type="Number">
        /// Gets or sets the level for this holdingTemple.
        /// </field>
        /// <field name="FortificationLevel" type="Number">
        /// Gets or sets the fortificationLevel for this holdingTemple.
        /// </field>
        /// <field name="IsContested" type="Boolean">
        /// Gets or sets the isContested for this holdingTemple.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this holdingTemple.
        /// </field>
        /// <field name="OwnerInformation" type="String">
        /// Gets or sets the ownerInformation for this holdingTemple.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this holdingTemple.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this holdingTemple.
        /// </field>
        /// <field name="details" type="msls.application.HoldingTemple.Details">
        /// Gets the details for this holdingTemple.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function HoldingSource(entitySet) {
        /// <summary>
        /// Represents the HoldingSource entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this holdingSource.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this holdingSource.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this holdingSource.
        /// </field>
        /// <field name="Owner" type="msls.application.Domain">
        /// Gets or sets the owner for this holdingSource.
        /// </field>
        /// <field name="Province" type="msls.application.DomainProvince">
        /// Gets or sets the province for this holdingSource.
        /// </field>
        /// <field name="Level" type="Number">
        /// Gets or sets the level for this holdingSource.
        /// </field>
        /// <field name="IsContested" type="Boolean">
        /// Gets or sets the isContested for this holdingSource.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this holdingSource.
        /// </field>
        /// <field name="OwnerInformation" type="String">
        /// Gets or sets the ownerInformation for this holdingSource.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this holdingSource.
        /// </field>
        /// <field name="LeyLinesStarting" type="msls.EntityCollection">
        /// Gets the leyLinesStarting for this holdingSource.
        /// </field>
        /// <field name="LeyLinesEnding" type="msls.EntityCollection">
        /// Gets the leyLinesEnding for this holdingSource.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this holdingSource.
        /// </field>
        /// <field name="details" type="msls.application.HoldingSource.Details">
        /// Gets the details for this holdingSource.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function Modifier(entitySet) {
        /// <summary>
        /// Represents the Modifier entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this modifier.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this modifier.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this modifier.
        /// </field>
        /// <field name="Expression" type="String">
        /// Gets or sets the expression for this modifier.
        /// </field>
        /// <field name="Condition" type="String">
        /// Gets or sets the condition for this modifier.
        /// </field>
        /// <field name="RelationTraitModifier" type="msls.EntityCollection">
        /// Gets the relationTraitModifier for this modifier.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this modifier.
        /// </field>
        /// <field name="details" type="msls.application.Modifier.Details">
        /// Gets the details for this modifier.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function RelationTraitModifier(entitySet) {
        /// <summary>
        /// Represents the RelationTraitModifier entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this relationTraitModifier.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this relationTraitModifier.
        /// </field>
        /// <field name="Trait" type="msls.application.Trait">
        /// Gets or sets the trait for this relationTraitModifier.
        /// </field>
        /// <field name="Modifier" type="msls.application.Modifier">
        /// Gets or sets the modifier for this relationTraitModifier.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this relationTraitModifier.
        /// </field>
        /// <field name="details" type="msls.application.RelationTraitModifier.Details">
        /// Gets the details for this relationTraitModifier.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function Notification(entitySet) {
        /// <summary>
        /// Represents the Notification entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this notification.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this notification.
        /// </field>
        /// <field name="SentDate" type="Date">
        /// Gets or sets the sentDate for this notification.
        /// </field>
        /// <field name="Read" type="Boolean">
        /// Gets or sets the read for this notification.
        /// </field>
        /// <field name="Recipient" type="msls.application.Player">
        /// Gets or sets the recipient for this notification.
        /// </field>
        /// <field name="Title" type="String">
        /// Gets or sets the title for this notification.
        /// </field>
        /// <field name="Message" type="String">
        /// Gets or sets the message for this notification.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this notification.
        /// </field>
        /// <field name="details" type="msls.application.Notification.Details">
        /// Gets the details for this notification.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function TradeRoute(entitySet) {
        /// <summary>
        /// Represents the TradeRoute entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this tradeRoute.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this tradeRoute.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this tradeRoute.
        /// </field>
        /// <field name="StartPoint" type="msls.application.HoldingGuild">
        /// Gets or sets the startPoint for this tradeRoute.
        /// </field>
        /// <field name="EndPoint" type="msls.application.HoldingGuild">
        /// Gets or sets the endPoint for this tradeRoute.
        /// </field>
        /// <field name="Type" type="Number">
        /// Gets or sets the type for this tradeRoute.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this tradeRoute.
        /// </field>
        /// <field name="OwnerInformation" type="String">
        /// Gets or sets the ownerInformation for this tradeRoute.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this tradeRoute.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this tradeRoute.
        /// </field>
        /// <field name="details" type="msls.application.TradeRoute.Details">
        /// Gets the details for this tradeRoute.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function LeyLine(entitySet) {
        /// <summary>
        /// Represents the LeyLine entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this leyLine.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this leyLine.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this leyLine.
        /// </field>
        /// <field name="StartPoint" type="msls.application.HoldingSource">
        /// Gets or sets the startPoint for this leyLine.
        /// </field>
        /// <field name="EndPoint" type="msls.application.HoldingSource">
        /// Gets or sets the endPoint for this leyLine.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this leyLine.
        /// </field>
        /// <field name="OwnerInformation" type="String">
        /// Gets or sets the ownerInformation for this leyLine.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this leyLine.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this leyLine.
        /// </field>
        /// <field name="details" type="msls.application.LeyLine.Details">
        /// Gets the details for this leyLine.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function LandUnit(entitySet) {
        /// <summary>
        /// Represents the LandUnit entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this landUnit.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this landUnit.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this landUnit.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this landUnit.
        /// </field>
        /// <field name="BaseLandUnit" type="msls.application.BaseLandUnit">
        /// Gets or sets the baseLandUnit for this landUnit.
        /// </field>
        /// <field name="IsActive" type="Boolean">
        /// Gets or sets the isActive for this landUnit.
        /// </field>
        /// <field name="Damage" type="Number">
        /// Gets or sets the damage for this landUnit.
        /// </field>
        /// <field name="Experience" type="Number">
        /// Gets or sets the experience for this landUnit.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this landUnit.
        /// </field>
        /// <field name="OwnerInformation" type="String">
        /// Gets or sets the ownerInformation for this landUnit.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this landUnit.
        /// </field>
        /// <field name="Transport" type="msls.application.SeaUnit">
        /// Gets or sets the transport for this landUnit.
        /// </field>
        /// <field name="Army" type="msls.application.Army">
        /// Gets or sets the army for this landUnit.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this landUnit.
        /// </field>
        /// <field name="details" type="msls.application.LandUnit.Details">
        /// Gets the details for this landUnit.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function SeaUnit(entitySet) {
        /// <summary>
        /// Represents the SeaUnit entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this seaUnit.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this seaUnit.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this seaUnit.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this seaUnit.
        /// </field>
        /// <field name="BaseSeaUnit" type="msls.application.BaseSeaUnit">
        /// Gets or sets the baseSeaUnit for this seaUnit.
        /// </field>
        /// <field name="IsActive" type="Boolean">
        /// Gets or sets the isActive for this seaUnit.
        /// </field>
        /// <field name="Damage" type="Number">
        /// Gets or sets the damage for this seaUnit.
        /// </field>
        /// <field name="Experience" type="Number">
        /// Gets or sets the experience for this seaUnit.
        /// </field>
        /// <field name="CargoSize" type="Number">
        /// Gets or sets the cargoSize for this seaUnit.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this seaUnit.
        /// </field>
        /// <field name="OwnerInformation" type="String">
        /// Gets or sets the ownerInformation for this seaUnit.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this seaUnit.
        /// </field>
        /// <field name="TransportedUnits" type="msls.EntityCollection">
        /// Gets the transportedUnits for this seaUnit.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this seaUnit.
        /// </field>
        /// <field name="Army" type="msls.application.Army">
        /// Gets or sets the army for this seaUnit.
        /// </field>
        /// <field name="details" type="msls.application.SeaUnit.Details">
        /// Gets the details for this seaUnit.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function Army(entitySet) {
        /// <summary>
        /// Represents the Army entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this army.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this army.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this army.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this army.
        /// </field>
        /// <field name="IsMercenary" type="Boolean">
        /// Gets or sets the isMercenary for this army.
        /// </field>
        /// <field name="RecruitmentCost" type="Number">
        /// Gets or sets the recruitmentCost for this army.
        /// </field>
        /// <field name="MaintenanceCost" type="Number">
        /// Gets or sets the maintenanceCost for this army.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this army.
        /// </field>
        /// <field name="OwnerInformation" type="String">
        /// Gets or sets the ownerInformation for this army.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this army.
        /// </field>
        /// <field name="Owner" type="msls.application.Domain">
        /// Gets or sets the owner for this army.
        /// </field>
        /// <field name="Location" type="msls.application.DomainProvince">
        /// Gets or sets the location for this army.
        /// </field>
        /// <field name="Characters" type="msls.EntityCollection">
        /// Gets the characters for this army.
        /// </field>
        /// <field name="LandUnits" type="msls.EntityCollection">
        /// Gets the landUnits for this army.
        /// </field>
        /// <field name="SeaUnits" type="msls.EntityCollection">
        /// Gets the seaUnits for this army.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this army.
        /// </field>
        /// <field name="details" type="msls.application.Army.Details">
        /// Gets the details for this army.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function RelationBaseProvinceTrait(entitySet) {
        /// <summary>
        /// Represents the RelationBaseProvinceTrait entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this relationBaseProvinceTrait.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this relationBaseProvinceTrait.
        /// </field>
        /// <field name="BaseProvince" type="msls.application.BaseProvince">
        /// Gets or sets the baseProvince for this relationBaseProvinceTrait.
        /// </field>
        /// <field name="Trait" type="msls.application.Trait">
        /// Gets or sets the trait for this relationBaseProvinceTrait.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this relationBaseProvinceTrait.
        /// </field>
        /// <field name="details" type="msls.application.RelationBaseProvinceTrait.Details">
        /// Gets the details for this relationBaseProvinceTrait.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function RelationSkillTraits(entitySet) {
        /// <summary>
        /// Represents the RelationSkillTraits entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this relationSkillTraits.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this relationSkillTraits.
        /// </field>
        /// <field name="Skill" type="msls.application.Skill">
        /// Gets or sets the skill for this relationSkillTraits.
        /// </field>
        /// <field name="Trait" type="msls.application.Trait">
        /// Gets or sets the trait for this relationSkillTraits.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this relationSkillTraits.
        /// </field>
        /// <field name="details" type="msls.application.RelationSkillTraits.Details">
        /// Gets the details for this relationSkillTraits.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function BloodAbility(entitySet) {
        /// <summary>
        /// Represents the BloodAbility entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this bloodAbility.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this bloodAbility.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this bloodAbility.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this bloodAbility.
        /// </field>
        /// <field name="BloodlineDerivation" type="msls.application.BloodlineDerivation">
        /// Gets or sets the bloodlineDerivation for this bloodAbility.
        /// </field>
        /// <field name="BloodlineStrength" type="msls.application.BloodlineStrength">
        /// Gets or sets the bloodlineStrength for this bloodAbility.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this bloodAbility.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this bloodAbility.
        /// </field>
        /// <field name="RelationBloodAbilityTraits" type="msls.EntityCollection">
        /// Gets the relationBloodAbilityTraits for this bloodAbility.
        /// </field>
        /// <field name="RelationCharacterBloodAbilities" type="msls.EntityCollection">
        /// Gets the relationCharacterBloodAbilities for this bloodAbility.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this bloodAbility.
        /// </field>
        /// <field name="details" type="msls.application.BloodAbility.Details">
        /// Gets the details for this bloodAbility.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function RelationBloodAbilityTraits(entitySet) {
        /// <summary>
        /// Represents the RelationBloodAbilityTraits entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this relationBloodAbilityTraits.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this relationBloodAbilityTraits.
        /// </field>
        /// <field name="BloodAbility" type="msls.application.BloodAbility">
        /// Gets or sets the bloodAbility for this relationBloodAbilityTraits.
        /// </field>
        /// <field name="Trait" type="msls.application.Trait">
        /// Gets or sets the trait for this relationBloodAbilityTraits.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this relationBloodAbilityTraits.
        /// </field>
        /// <field name="details" type="msls.application.RelationBloodAbilityTraits.Details">
        /// Gets the details for this relationBloodAbilityTraits.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function RelationCharacterBloodAbilities(entitySet) {
        /// <summary>
        /// Represents the RelationCharacterBloodAbilities entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this relationCharacterBloodAbilities.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this relationCharacterBloodAbilities.
        /// </field>
        /// <field name="Character" type="msls.application.Character">
        /// Gets or sets the character for this relationCharacterBloodAbilities.
        /// </field>
        /// <field name="BloodAbility" type="msls.application.BloodAbility">
        /// Gets or sets the bloodAbility for this relationCharacterBloodAbilities.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this relationCharacterBloodAbilities.
        /// </field>
        /// <field name="details" type="msls.application.RelationCharacterBloodAbilities.Details">
        /// Gets the details for this relationCharacterBloodAbilities.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function BaseLandUnit(entitySet) {
        /// <summary>
        /// Represents the BaseLandUnit entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this baseLandUnit.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this baseLandUnit.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this baseLandUnit.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this baseLandUnit.
        /// </field>
        /// <field name="Type" type="Number">
        /// Gets or sets the type for this baseLandUnit.
        /// </field>
        /// <field name="Movement" type="String">
        /// Gets or sets the movement for this baseLandUnit.
        /// </field>
        /// <field name="Melee" type="String">
        /// Gets or sets the melee for this baseLandUnit.
        /// </field>
        /// <field name="Charge" type="String">
        /// Gets or sets the charge for this baseLandUnit.
        /// </field>
        /// <field name="Missile" type="String">
        /// Gets or sets the missile for this baseLandUnit.
        /// </field>
        /// <field name="Defense" type="String">
        /// Gets or sets the defense for this baseLandUnit.
        /// </field>
        /// <field name="Hits" type="Number">
        /// Gets or sets the hits for this baseLandUnit.
        /// </field>
        /// <field name="Morale" type="String">
        /// Gets or sets the morale for this baseLandUnit.
        /// </field>
        /// <field name="MusterCost" type="Number">
        /// Gets or sets the musterCost for this baseLandUnit.
        /// </field>
        /// <field name="MaintenanceCost" type="Number">
        /// Gets or sets the maintenanceCost for this baseLandUnit.
        /// </field>
        /// <field name="Race" type="msls.application.Race">
        /// Gets or sets the race for this baseLandUnit.
        /// </field>
        /// <field name="ProvinceRequeriment" type="Number">
        /// Gets or sets the provinceRequeriment for this baseLandUnit.
        /// </field>
        /// <field name="LawRequeriment" type="Number">
        /// Gets or sets the lawRequeriment for this baseLandUnit.
        /// </field>
        /// <field name="TempleRequeriment" type="Number">
        /// Gets or sets the templeRequeriment for this baseLandUnit.
        /// </field>
        /// <field name="GuildRequeriment" type="Number">
        /// Gets or sets the guildRequeriment for this baseLandUnit.
        /// </field>
        /// <field name="Designer" type="msls.application.Domain">
        /// Gets or sets the designer for this baseLandUnit.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this baseLandUnit.
        /// </field>
        /// <field name="OwnerInformation" type="String">
        /// Gets or sets the ownerInformation for this baseLandUnit.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this baseLandUnit.
        /// </field>
        /// <field name="LandUnits" type="msls.EntityCollection">
        /// Gets the landUnits for this baseLandUnit.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this baseLandUnit.
        /// </field>
        /// <field name="details" type="msls.application.BaseLandUnit.Details">
        /// Gets the details for this baseLandUnit.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function BaseSeaUnit(entitySet) {
        /// <summary>
        /// Represents the BaseSeaUnit entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this baseSeaUnit.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this baseSeaUnit.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this baseSeaUnit.
        /// </field>
        /// <field name="Name" type="String">
        /// Gets or sets the name for this baseSeaUnit.
        /// </field>
        /// <field name="Type" type="Number">
        /// Gets or sets the type for this baseSeaUnit.
        /// </field>
        /// <field name="Movement" type="String">
        /// Gets or sets the movement for this baseSeaUnit.
        /// </field>
        /// <field name="Melee" type="String">
        /// Gets or sets the melee for this baseSeaUnit.
        /// </field>
        /// <field name="Ram" type="String">
        /// Gets or sets the ram for this baseSeaUnit.
        /// </field>
        /// <field name="Missile" type="String">
        /// Gets or sets the missile for this baseSeaUnit.
        /// </field>
        /// <field name="Defense" type="String">
        /// Gets or sets the defense for this baseSeaUnit.
        /// </field>
        /// <field name="Hits" type="Number">
        /// Gets or sets the hits for this baseSeaUnit.
        /// </field>
        /// <field name="Morale" type="String">
        /// Gets or sets the morale for this baseSeaUnit.
        /// </field>
        /// <field name="Seaworthiness" type="Number">
        /// Gets or sets the seaworthiness for this baseSeaUnit.
        /// </field>
        /// <field name="CargoSizeGBs" type="Number">
        /// Gets or sets the cargoSizeGBs for this baseSeaUnit.
        /// </field>
        /// <field name="CargoSizeUnits" type="Number">
        /// Gets or sets the cargoSizeUnits for this baseSeaUnit.
        /// </field>
        /// <field name="MusterCost" type="Number">
        /// Gets or sets the musterCost for this baseSeaUnit.
        /// </field>
        /// <field name="MaintenanceCost" type="Number">
        /// Gets or sets the maintenanceCost for this baseSeaUnit.
        /// </field>
        /// <field name="Race" type="msls.application.Race">
        /// Gets or sets the race for this baseSeaUnit.
        /// </field>
        /// <field name="ProvinceRequeriment" type="Number">
        /// Gets or sets the provinceRequeriment for this baseSeaUnit.
        /// </field>
        /// <field name="LawRequeriment" type="Number">
        /// Gets or sets the lawRequeriment for this baseSeaUnit.
        /// </field>
        /// <field name="TempleRequeriment" type="Number">
        /// Gets or sets the templeRequeriment for this baseSeaUnit.
        /// </field>
        /// <field name="GuildRequeriment" type="Number">
        /// Gets or sets the guildRequeriment for this baseSeaUnit.
        /// </field>
        /// <field name="Designer" type="msls.application.Domain">
        /// Gets or sets the designer for this baseSeaUnit.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this baseSeaUnit.
        /// </field>
        /// <field name="OwnerInformation" type="String">
        /// Gets or sets the ownerInformation for this baseSeaUnit.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this baseSeaUnit.
        /// </field>
        /// <field name="SeaUnits" type="msls.EntityCollection">
        /// Gets the seaUnits for this baseSeaUnit.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this baseSeaUnit.
        /// </field>
        /// <field name="details" type="msls.application.BaseSeaUnit.Details">
        /// Gets the details for this baseSeaUnit.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function RelationBaseBuildingTraits(entitySet) {
        /// <summary>
        /// Represents the RelationBaseBuildingTraits entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this relationBaseBuildingTraits.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this relationBaseBuildingTraits.
        /// </field>
        /// <field name="BaseBuilding" type="msls.application.BaseBuilding">
        /// Gets or sets the baseBuilding for this relationBaseBuildingTraits.
        /// </field>
        /// <field name="Trait" type="msls.application.Trait">
        /// Gets or sets the trait for this relationBaseBuildingTraits.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this relationBaseBuildingTraits.
        /// </field>
        /// <field name="details" type="msls.application.RelationBaseBuildingTraits.Details">
        /// Gets the details for this relationBaseBuildingTraits.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function GameInformation(entitySet) {
        /// <summary>
        /// Represents the GameInformation entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this gameInformation.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this gameInformation.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this gameInformation.
        /// </field>
        /// <field name="CreationDate" type="Date">
        /// Gets or sets the creationDate for this gameInformation.
        /// </field>
        /// <field name="Title" type="String">
        /// Gets or sets the title for this gameInformation.
        /// </field>
        /// <field name="PublicInformation" type="String">
        /// Gets or sets the publicInformation for this gameInformation.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this gameInformation.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this gameInformation.
        /// </field>
        /// <field name="details" type="msls.application.GameInformation.Details">
        /// Gets the details for this gameInformation.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function DomainAction(entitySet) {
        /// <summary>
        /// Represents the DomainAction entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this domainAction.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this domainAction.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this domainAction.
        /// </field>
        /// <field name="BaseAction" type="msls.application.BaseAction">
        /// Gets or sets the baseAction for this domainAction.
        /// </field>
        /// <field name="BaseCostGB" type="Number">
        /// Gets or sets the baseCostGB for this domainAction.
        /// </field>
        /// <field name="BaseCostRP" type="Number">
        /// Gets or sets the baseCostRP for this domainAction.
        /// </field>
        /// <field name="ExtraGB" type="Number">
        /// Gets or sets the extraGB for this domainAction.
        /// </field>
        /// <field name="ExtraRP" type="Number">
        /// Gets or sets the extraRP for this domainAction.
        /// </field>
        /// <field name="OwnerInformation" type="String">
        /// Gets or sets the ownerInformation for this domainAction.
        /// </field>
        /// <field name="GMInformation" type="String">
        /// Gets or sets the gMInformation for this domainAction.
        /// </field>
        /// <field name="DomainTurn1" type="msls.application.DomainTurn">
        /// Gets or sets the domainTurn1 for this domainAction.
        /// </field>
        /// <field name="DomainTurn2" type="msls.application.DomainTurn">
        /// Gets or sets the domainTurn2 for this domainAction.
        /// </field>
        /// <field name="DomainTurn3" type="msls.application.DomainTurn">
        /// Gets or sets the domainTurn3 for this domainAction.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this domainAction.
        /// </field>
        /// <field name="details" type="msls.application.DomainAction.Details">
        /// Gets the details for this domainAction.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function DomainTurn(entitySet) {
        /// <summary>
        /// Represents the DomainTurn entity type.
        /// </summary>
        /// <param name="entitySet" type="msls.EntitySet" optional="true">
        /// The entity set that should contain this domainTurn.
        /// </param>
        /// <field name="Id" type="Number">
        /// Gets or sets the id for this domainTurn.
        /// </field>
        /// <field name="Visibility" type="Number">
        /// Gets or sets the visibility for this domainTurn.
        /// </field>
        /// <field name="State" type="Number">
        /// Gets or sets the state for this domainTurn.
        /// </field>
        /// <field name="Domain" type="msls.application.Domain">
        /// Gets or sets the domain for this domainTurn.
        /// </field>
        /// <field name="Turn" type="Number">
        /// Gets or sets the turn for this domainTurn.
        /// </field>
        /// <field name="TurnOwnerInformation" type="String">
        /// Gets or sets the turnOwnerInformation for this domainTurn.
        /// </field>
        /// <field name="FirstRoundOwnerInformation" type="String">
        /// Gets or sets the firstRoundOwnerInformation for this domainTurn.
        /// </field>
        /// <field name="SecondRoundOwnerInformation" type="String">
        /// Gets or sets the secondRoundOwnerInformation for this domainTurn.
        /// </field>
        /// <field name="ThirdRoundOwnerInformation" type="String">
        /// Gets or sets the thirdRoundOwnerInformation for this domainTurn.
        /// </field>
        /// <field name="TurnGMInformation" type="String">
        /// Gets or sets the turnGMInformation for this domainTurn.
        /// </field>
        /// <field name="FirstRoundGMInformation" type="String">
        /// Gets or sets the firstRoundGMInformation for this domainTurn.
        /// </field>
        /// <field name="SecondRoundGMInformation" type="String">
        /// Gets or sets the secondRoundGMInformation for this domainTurn.
        /// </field>
        /// <field name="ThirdRoundGMInformation" type="String">
        /// Gets or sets the thirdRoundGMInformation for this domainTurn.
        /// </field>
        /// <field name="FirstRoundActions" type="msls.EntityCollection">
        /// Gets the firstRoundActions for this domainTurn.
        /// </field>
        /// <field name="SecondRoundActions" type="msls.EntityCollection">
        /// Gets the secondRoundActions for this domainTurn.
        /// </field>
        /// <field name="ThirdRoundActions" type="msls.EntityCollection">
        /// Gets the thirdRoundActions for this domainTurn.
        /// </field>
        /// <field name="RowVersion" type="Array">
        /// Gets or sets the rowVersion for this domainTurn.
        /// </field>
        /// <field name="details" type="msls.application.DomainTurn.Details">
        /// Gets the details for this domainTurn.
        /// </field>
        $Entity.call(this, entitySet);
    }

    function ApplicationData(dataWorkspace) {
        /// <summary>
        /// Represents the ApplicationData data service.
        /// </summary>
        /// <param name="dataWorkspace" type="msls.DataWorkspace">
        /// The data workspace that created this data service.
        /// </param>
        /// <field name="Alignments" type="msls.EntitySet">
        /// Gets the Alignments entity set.
        /// </field>
        /// <field name="BloodlineDerivations" type="msls.EntitySet">
        /// Gets the BloodlineDerivations entity set.
        /// </field>
        /// <field name="BloodlineStrengths" type="msls.EntitySet">
        /// Gets the BloodlineStrengths entity set.
        /// </field>
        /// <field name="CharacterClasses" type="msls.EntitySet">
        /// Gets the CharacterClasses entity set.
        /// </field>
        /// <field name="Skills" type="msls.EntitySet">
        /// Gets the Skills entity set.
        /// </field>
        /// <field name="Races" type="msls.EntitySet">
        /// Gets the Races entity set.
        /// </field>
        /// <field name="Players" type="msls.EntitySet">
        /// Gets the Players entity set.
        /// </field>
        /// <field name="Deities" type="msls.EntitySet">
        /// Gets the Deities entity set.
        /// </field>
        /// <field name="Characters" type="msls.EntitySet">
        /// Gets the Characters entity set.
        /// </field>
        /// <field name="Domains" type="msls.EntitySet">
        /// Gets the Domains entity set.
        /// </field>
        /// <field name="RealmSpells" type="msls.EntitySet">
        /// Gets the RealmSpells entity set.
        /// </field>
        /// <field name="BaseActions" type="msls.EntitySet">
        /// Gets the BaseActions entity set.
        /// </field>
        /// <field name="BaseBuildings" type="msls.EntitySet">
        /// Gets the BaseBuildings entity set.
        /// </field>
        /// <field name="Traits" type="msls.EntitySet">
        /// Gets the Traits entity set.
        /// </field>
        /// <field name="BaseProvinces" type="msls.EntitySet">
        /// Gets the BaseProvinces entity set.
        /// </field>
        /// <field name="Terrains" type="msls.EntitySet">
        /// Gets the Terrains entity set.
        /// </field>
        /// <field name="RelationRaceTraits" type="msls.EntitySet">
        /// Gets the RelationRaceTraits entity set.
        /// </field>
        /// <field name="RelationClassTraits" type="msls.EntitySet">
        /// Gets the RelationClassTraits entity set.
        /// </field>
        /// <field name="RelationBaseProvinceBaseProvinces" type="msls.EntitySet">
        /// Gets the RelationBaseProvinceBaseProvinces entity set.
        /// </field>
        /// <field name="RelationCharacterClasses" type="msls.EntitySet">
        /// Gets the RelationCharacterClasses entity set.
        /// </field>
        /// <field name="RelationCharacterSkills" type="msls.EntitySet">
        /// Gets the RelationCharacterSkills entity set.
        /// </field>
        /// <field name="DomainProvinces" type="msls.EntitySet">
        /// Gets the DomainProvinces entity set.
        /// </field>
        /// <field name="HoldingLaws" type="msls.EntitySet">
        /// Gets the HoldingLaws entity set.
        /// </field>
        /// <field name="HoldingGuilds" type="msls.EntitySet">
        /// Gets the HoldingGuilds entity set.
        /// </field>
        /// <field name="HoldingTemples" type="msls.EntitySet">
        /// Gets the HoldingTemples entity set.
        /// </field>
        /// <field name="HoldingSources" type="msls.EntitySet">
        /// Gets the HoldingSources entity set.
        /// </field>
        /// <field name="Modifiers" type="msls.EntitySet">
        /// Gets the Modifiers entity set.
        /// </field>
        /// <field name="RelationTraitModifiers" type="msls.EntitySet">
        /// Gets the RelationTraitModifiers entity set.
        /// </field>
        /// <field name="Notifications" type="msls.EntitySet">
        /// Gets the Notifications entity set.
        /// </field>
        /// <field name="TradeRoutes" type="msls.EntitySet">
        /// Gets the TradeRoutes entity set.
        /// </field>
        /// <field name="LeyLines" type="msls.EntitySet">
        /// Gets the LeyLines entity set.
        /// </field>
        /// <field name="LandUnits" type="msls.EntitySet">
        /// Gets the LandUnits entity set.
        /// </field>
        /// <field name="SeaUnits" type="msls.EntitySet">
        /// Gets the SeaUnits entity set.
        /// </field>
        /// <field name="Armies" type="msls.EntitySet">
        /// Gets the Armies entity set.
        /// </field>
        /// <field name="RelationBaseProvinceTraits" type="msls.EntitySet">
        /// Gets the RelationBaseProvinceTraits entity set.
        /// </field>
        /// <field name="RelationSkillTraitsSet" type="msls.EntitySet">
        /// Gets the RelationSkillTraitsSet entity set.
        /// </field>
        /// <field name="BloodAbilities" type="msls.EntitySet">
        /// Gets the BloodAbilities entity set.
        /// </field>
        /// <field name="RelationBloodAbilityTraitsSet" type="msls.EntitySet">
        /// Gets the RelationBloodAbilityTraitsSet entity set.
        /// </field>
        /// <field name="RelationCharacterBloodAbilitiesSet" type="msls.EntitySet">
        /// Gets the RelationCharacterBloodAbilitiesSet entity set.
        /// </field>
        /// <field name="BaseLandUnits" type="msls.EntitySet">
        /// Gets the BaseLandUnits entity set.
        /// </field>
        /// <field name="BaseSeaUnits" type="msls.EntitySet">
        /// Gets the BaseSeaUnits entity set.
        /// </field>
        /// <field name="RelationBaseBuildingTraitsSet" type="msls.EntitySet">
        /// Gets the RelationBaseBuildingTraitsSet entity set.
        /// </field>
        /// <field name="GameInformations" type="msls.EntitySet">
        /// Gets the GameInformations entity set.
        /// </field>
        /// <field name="DomainActions" type="msls.EntitySet">
        /// Gets the DomainActions entity set.
        /// </field>
        /// <field name="DomainTurns" type="msls.EntitySet">
        /// Gets the DomainTurns entity set.
        /// </field>
        /// <field name="details" type="msls.application.ApplicationData.Details">
        /// Gets the details for this data service.
        /// </field>
        $DataService.call(this, dataWorkspace);
    };
    function DataWorkspace() {
        /// <summary>
        /// Represents the data workspace.
        /// </summary>
        /// <field name="ApplicationData" type="msls.application.ApplicationData">
        /// Gets the ApplicationData data service.
        /// </field>
        /// <field name="details" type="msls.application.DataWorkspace.Details">
        /// Gets the details for this data workspace.
        /// </field>
        $DataWorkspace.call(this);
    };

    msls._addToNamespace("msls.application", {

        Alignment: $defineEntity(Alignment, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "Abbreviation", type: String },
            { name: "PublicInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "Deities", kind: "collection", elementType: Deity },
            { name: "Characters", kind: "collection", elementType: Character },
            { name: "RowVersion", type: Array }
        ]),

        BloodlineDerivation: $defineEntity(BloodlineDerivation, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "Abbreviation", type: String },
            { name: "PublicInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "Characters", kind: "collection", elementType: Character },
            { name: "BloodAbilities", kind: "collection", elementType: BloodAbility },
            { name: "RowVersion", type: Array }
        ]),

        BloodlineStrength: $defineEntity(BloodlineStrength, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "Abbreviation", type: String },
            { name: "PublicInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "Characters", kind: "collection", elementType: Character },
            { name: "BloodAbilities", kind: "collection", elementType: BloodAbility },
            { name: "RowVersion", type: Array }
        ]),

        CharacterClass: $defineEntity(CharacterClass, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "Abbreviation", type: String },
            { name: "Picture", type: Array },
            { name: "PublicInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "RelationClassTraits", kind: "collection", elementType: RelationClassTrait },
            { name: "RelationCharacterClasses", kind: "collection", elementType: RelationCharacterClass },
            { name: "RowVersion", type: Array }
        ]),

        Skill: $defineEntity(Skill, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "Abbreviation", type: String },
            { name: "PublicInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "RelationCharacterSkill", kind: "collection", elementType: RelationCharacterSkill },
            { name: "RelationSkillTraits", kind: "collection", elementType: RelationSkillTraits },
            { name: "RowVersion", type: Array }
        ]),

        Race: $defineEntity(Race, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "Abbreviation", type: String },
            { name: "Picture", type: Array },
            { name: "PublicInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "RelationRaceTraits", kind: "collection", elementType: RelationRaceTrait },
            { name: "Characters", kind: "collection", elementType: Character },
            { name: "DomainProvinces", kind: "collection", elementType: DomainProvince },
            { name: "BaseLandUnits", kind: "collection", elementType: BaseLandUnit },
            { name: "BaseSeaUnits", kind: "collection", elementType: BaseSeaUnit },
            { name: "RowVersion", type: Array }
        ]),

        Player: $defineEntity(Player, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "RealName", type: String },
            { name: "UserName", type: String },
            { name: "Email", type: String },
            { name: "PublicInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "Characters", kind: "collection", elementType: Character },
            { name: "Notifications", kind: "collection", elementType: Notification },
            { name: "RowVersion", type: Array }
        ]),

        Deity: $defineEntity(Deity, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "Abbreviation", type: String },
            { name: "Type", type: Number },
            { name: "Alignment", kind: "reference", type: Alignment },
            { name: "Symbol", type: Array },
            { name: "PublicInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "Characters", kind: "collection", elementType: Character },
            { name: "RowVersion", type: Array }
        ]),

        Character: $defineEntity(Character, [
            { name: "Id", type: Number },
            { name: "State", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "Owner", kind: "reference", type: Player },
            { name: "Gender", type: String },
            { name: "Race", kind: "reference", type: Race },
            { name: "Alignment", kind: "reference", type: Alignment },
            { name: "BloodlineDerivation", kind: "reference", type: BloodlineDerivation },
            { name: "BloodlineStrength", kind: "reference", type: BloodlineStrength },
            { name: "BloodlineScore", type: Number },
            { name: "Faith", kind: "reference", type: Deity },
            { name: "Portrait", type: Array },
            { name: "CharacterSheetData", type: Array },
            { name: "CharacterSheetFilename", type: String },
            { name: "RPSaved", type: Number },
            { name: "PublicInformation", type: String },
            { name: "OwnerInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "RelationCharacterClasses", kind: "collection", elementType: RelationCharacterClass },
            { name: "RelationCharacterSkills", kind: "collection", elementType: RelationCharacterSkill },
            { name: "RelationCharacterBloodAbilities", kind: "collection", elementType: RelationCharacterBloodAbilities },
            { name: "LieutenantOf", kind: "reference", type: Character },
            { name: "Lieutenants", kind: "collection", elementType: Character },
            { name: "Domains", kind: "collection", elementType: Domain },
            { name: "Army", kind: "reference", type: Army },
            { name: "CustomRealmSpells", kind: "collection", elementType: RealmSpell },
            { name: "RowVersion", type: Array }
        ]),

        Domain: $defineEntity(Domain, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "Abbreviation", type: String },
            { name: "Ruler", kind: "reference", type: Character },
            { name: "CoatOfArms", type: Array },
            { name: "GBSaved", type: Number },
            { name: "CourtLevel", type: Number },
            { name: "PublicInformation", type: String },
            { name: "OwnerInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "Provinces", kind: "collection", elementType: DomainProvince },
            { name: "LawHoldings", kind: "collection", elementType: HoldingLaw },
            { name: "GuildHoldings", kind: "collection", elementType: HoldingGuild },
            { name: "TempleHoldings", kind: "collection", elementType: HoldingTemple },
            { name: "SourceHoldings", kind: "collection", elementType: HoldingSource },
            { name: "Armies", kind: "collection", elementType: Army },
            { name: "SpecialBuildings", kind: "collection", elementType: BaseBuilding },
            { name: "SpecialLandUnits", kind: "collection", elementType: BaseLandUnit },
            { name: "SpecialSeaUnits", kind: "collection", elementType: BaseSeaUnit },
            { name: "DomainTurns", kind: "collection", elementType: DomainTurn },
            { name: "RowVersion", type: Array }
        ]),

        RealmSpell: $defineEntity(RealmSpell, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "Researcher", kind: "reference", type: Character },
            { name: "Type", type: Number },
            { name: "CasterLevel", type: Number },
            { name: "HoldingLevel", type: Number },
            { name: "PublicInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "OwnerInformation", type: String },
            { name: "RowVersion", type: Array }
        ]),

        BaseAction: $defineEntity(BaseAction, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "Type", type: Number },
            { name: "PublicInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "DomainActions", kind: "collection", elementType: DomainAction },
            { name: "RowVersion", type: Array }
        ]),

        BaseBuilding: $defineEntity(BaseBuilding, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "MaximumLevel", type: Number },
            { name: "Designer", kind: "reference", type: Domain },
            { name: "PublicInformation", type: String },
            { name: "OwnerInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "RelationBaseBuildingTraits", kind: "collection", elementType: RelationBaseBuildingTraits },
            { name: "RowVersion", type: Array }
        ]),

        Trait: $defineEntity(Trait, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "Type", type: String },
            { name: "PublicInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "RelationRaceTrait", kind: "collection", elementType: RelationRaceTrait },
            { name: "RelationClassTrait", kind: "collection", elementType: RelationClassTrait },
            { name: "RelationTraitModifiers", kind: "collection", elementType: RelationTraitModifier },
            { name: "RelationBaseProvinceTraits", kind: "collection", elementType: RelationBaseProvinceTrait },
            { name: "RelationSkillTraitsCollection", kind: "collection", elementType: RelationSkillTraits },
            { name: "RelationBloodAbilityTraits", kind: "collection", elementType: RelationBloodAbilityTraits },
            { name: "RelationBaseBuildingTraits", kind: "collection", elementType: RelationBaseBuildingTraits },
            { name: "RowVersion", type: Array }
        ]),

        BaseProvince: $defineEntity(BaseProvince, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Region", type: String },
            { name: "Name", type: String },
            { name: "Terrain", kind: "reference", type: Terrain },
            { name: "PublicInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "Neighbours", kind: "collection", elementType: RelationBaseProvinceBaseProvince },
            { name: "InvertedNeighbours", kind: "collection", elementType: RelationBaseProvinceBaseProvince },
            { name: "DomainProvince", kind: "reference", type: DomainProvince },
            { name: "RelationBaseProvinceTraits", kind: "collection", elementType: RelationBaseProvinceTrait },
            { name: "RowVersion", type: Array }
        ]),

        Terrain: $defineEntity(Terrain, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "MaximumPopulation", type: Number },
            { name: "MaximumMagic", type: Number },
            { name: "MovementCost", type: Number },
            { name: "PublicInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "BaseProvinces", kind: "collection", elementType: BaseProvince },
            { name: "RowVersion", type: Array }
        ]),

        RelationRaceTrait: $defineEntity(RelationRaceTrait, [
            { name: "Id", type: Number },
            { name: "Race", kind: "reference", type: Race },
            { name: "Trait", kind: "reference", type: Trait },
            { name: "RowVersion", type: Array }
        ]),

        RelationClassTrait: $defineEntity(RelationClassTrait, [
            { name: "Id", type: Number },
            { name: "CharacterClass", kind: "reference", type: CharacterClass },
            { name: "Trait", kind: "reference", type: Trait },
            { name: "RowVersion", type: Array }
        ]),

        RelationBaseProvinceBaseProvince: $defineEntity(RelationBaseProvinceBaseProvince, [
            { name: "Id", type: Number },
            { name: "StartProvince", kind: "reference", type: BaseProvince },
            { name: "EndProvince", kind: "reference", type: BaseProvince },
            { name: "RowVersion", type: Array }
        ]),

        RelationCharacterClass: $defineEntity(RelationCharacterClass, [
            { name: "Id", type: Number },
            { name: "Character", kind: "reference", type: Character },
            { name: "CharacterClass", kind: "reference", type: CharacterClass },
            { name: "Level", type: Number },
            { name: "RowVersion", type: Array }
        ]),

        RelationCharacterSkill: $defineEntity(RelationCharacterSkill, [
            { name: "Id", type: Number },
            { name: "Character", kind: "reference", type: Character },
            { name: "Skill", kind: "reference", type: Skill },
            { name: "Level", type: Number },
            { name: "RowVersion", type: Array }
        ]),

        DomainProvince: $defineEntity(DomainProvince, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "BaseProvince", kind: "reference", type: BaseProvince },
            { name: "Domain", kind: "reference", type: Domain },
            { name: "Race", kind: "reference", type: Race },
            { name: "PopulationLevel", type: Number },
            { name: "FortificationLevel", type: Number },
            { name: "Taxes", type: Number },
            { name: "Loyalty", type: Number },
            { name: "PublicInformation", type: String },
            { name: "OwnerInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "GuildHoldings", kind: "collection", elementType: HoldingGuild },
            { name: "LawHoldings", kind: "collection", elementType: HoldingLaw },
            { name: "TempleHoldings", kind: "collection", elementType: HoldingTemple },
            { name: "SourceHoldings", kind: "collection", elementType: HoldingSource },
            { name: "Armies", kind: "collection", elementType: Army },
            { name: "RowVersion", type: Array }
        ]),

        HoldingLaw: $defineEntity(HoldingLaw, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Owner", kind: "reference", type: Domain },
            { name: "Province", kind: "reference", type: DomainProvince },
            { name: "Level", type: Number },
            { name: "FortificationLevel", type: Number },
            { name: "IsContested", type: Boolean },
            { name: "PublicInformation", type: String },
            { name: "OwnerInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "RowVersion", type: Array }
        ]),

        HoldingGuild: $defineEntity(HoldingGuild, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Owner", kind: "reference", type: Domain },
            { name: "Province", kind: "reference", type: DomainProvince },
            { name: "Level", type: Number },
            { name: "FortificationLevel", type: Number },
            { name: "IsContested", type: Boolean },
            { name: "PublicInformation", type: String },
            { name: "OwnerInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "TradeRoutesStarting", kind: "collection", elementType: TradeRoute },
            { name: "TradeRoutesEnding", kind: "collection", elementType: TradeRoute },
            { name: "RowVersion", type: Array }
        ]),

        HoldingTemple: $defineEntity(HoldingTemple, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Owner", kind: "reference", type: Domain },
            { name: "Province", kind: "reference", type: DomainProvince },
            { name: "Level", type: Number },
            { name: "FortificationLevel", type: Number },
            { name: "IsContested", type: Boolean },
            { name: "PublicInformation", type: String },
            { name: "OwnerInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "RowVersion", type: Array }
        ]),

        HoldingSource: $defineEntity(HoldingSource, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Owner", kind: "reference", type: Domain },
            { name: "Province", kind: "reference", type: DomainProvince },
            { name: "Level", type: Number },
            { name: "IsContested", type: Boolean },
            { name: "PublicInformation", type: String },
            { name: "OwnerInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "LeyLinesStarting", kind: "collection", elementType: LeyLine },
            { name: "LeyLinesEnding", kind: "collection", elementType: LeyLine },
            { name: "RowVersion", type: Array }
        ]),

        Modifier: $defineEntity(Modifier, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Expression", type: String },
            { name: "Condition", type: String },
            { name: "RelationTraitModifier", kind: "collection", elementType: RelationTraitModifier },
            { name: "RowVersion", type: Array }
        ]),

        RelationTraitModifier: $defineEntity(RelationTraitModifier, [
            { name: "Id", type: Number },
            { name: "Trait", kind: "reference", type: Trait },
            { name: "Modifier", kind: "reference", type: Modifier },
            { name: "RowVersion", type: Array }
        ]),

        Notification: $defineEntity(Notification, [
            { name: "Id", type: Number },
            { name: "SentDate", type: Date },
            { name: "Read", type: Boolean },
            { name: "Recipient", kind: "reference", type: Player },
            { name: "Title", type: String },
            { name: "Message", type: String },
            { name: "RowVersion", type: Array }
        ]),

        TradeRoute: $defineEntity(TradeRoute, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "StartPoint", kind: "reference", type: HoldingGuild },
            { name: "EndPoint", kind: "reference", type: HoldingGuild },
            { name: "Type", type: Number },
            { name: "PublicInformation", type: String },
            { name: "OwnerInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "RowVersion", type: Array }
        ]),

        LeyLine: $defineEntity(LeyLine, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "StartPoint", kind: "reference", type: HoldingSource },
            { name: "EndPoint", kind: "reference", type: HoldingSource },
            { name: "PublicInformation", type: String },
            { name: "OwnerInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "RowVersion", type: Array }
        ]),

        LandUnit: $defineEntity(LandUnit, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "BaseLandUnit", kind: "reference", type: BaseLandUnit },
            { name: "IsActive", type: Boolean },
            { name: "Damage", type: Number },
            { name: "Experience", type: Number },
            { name: "PublicInformation", type: String },
            { name: "OwnerInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "Transport", kind: "reference", type: SeaUnit },
            { name: "Army", kind: "reference", type: Army },
            { name: "RowVersion", type: Array }
        ]),

        SeaUnit: $defineEntity(SeaUnit, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "BaseSeaUnit", kind: "reference", type: BaseSeaUnit },
            { name: "IsActive", type: Boolean },
            { name: "Damage", type: Number },
            { name: "Experience", type: Number },
            { name: "CargoSize", type: Number },
            { name: "PublicInformation", type: String },
            { name: "OwnerInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "TransportedUnits", kind: "collection", elementType: LandUnit },
            { name: "RowVersion", type: Array },
            { name: "Army", kind: "reference", type: Army }
        ]),

        Army: $defineEntity(Army, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "IsMercenary", type: Boolean },
            { name: "RecruitmentCost", type: Number },
            { name: "MaintenanceCost", type: Number },
            { name: "PublicInformation", type: String },
            { name: "OwnerInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "Owner", kind: "reference", type: Domain },
            { name: "Location", kind: "reference", type: DomainProvince },
            { name: "Characters", kind: "collection", elementType: Character },
            { name: "LandUnits", kind: "collection", elementType: LandUnit },
            { name: "SeaUnits", kind: "collection", elementType: SeaUnit },
            { name: "RowVersion", type: Array }
        ]),

        RelationBaseProvinceTrait: $defineEntity(RelationBaseProvinceTrait, [
            { name: "Id", type: Number },
            { name: "BaseProvince", kind: "reference", type: BaseProvince },
            { name: "Trait", kind: "reference", type: Trait },
            { name: "RowVersion", type: Array }
        ]),

        RelationSkillTraits: $defineEntity(RelationSkillTraits, [
            { name: "Id", type: Number },
            { name: "Skill", kind: "reference", type: Skill },
            { name: "Trait", kind: "reference", type: Trait },
            { name: "RowVersion", type: Array }
        ]),

        BloodAbility: $defineEntity(BloodAbility, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "BloodlineDerivation", kind: "reference", type: BloodlineDerivation },
            { name: "BloodlineStrength", kind: "reference", type: BloodlineStrength },
            { name: "PublicInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "RelationBloodAbilityTraits", kind: "collection", elementType: RelationBloodAbilityTraits },
            { name: "RelationCharacterBloodAbilities", kind: "collection", elementType: RelationCharacterBloodAbilities },
            { name: "RowVersion", type: Array }
        ]),

        RelationBloodAbilityTraits: $defineEntity(RelationBloodAbilityTraits, [
            { name: "Id", type: Number },
            { name: "BloodAbility", kind: "reference", type: BloodAbility },
            { name: "Trait", kind: "reference", type: Trait },
            { name: "RowVersion", type: Array }
        ]),

        RelationCharacterBloodAbilities: $defineEntity(RelationCharacterBloodAbilities, [
            { name: "Id", type: Number },
            { name: "Character", kind: "reference", type: Character },
            { name: "BloodAbility", kind: "reference", type: BloodAbility },
            { name: "RowVersion", type: Array }
        ]),

        BaseLandUnit: $defineEntity(BaseLandUnit, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "Type", type: Number },
            { name: "Movement", type: String },
            { name: "Melee", type: String },
            { name: "Charge", type: String },
            { name: "Missile", type: String },
            { name: "Defense", type: String },
            { name: "Hits", type: Number },
            { name: "Morale", type: String },
            { name: "MusterCost", type: Number },
            { name: "MaintenanceCost", type: Number },
            { name: "Race", kind: "reference", type: Race },
            { name: "ProvinceRequeriment", type: Number },
            { name: "LawRequeriment", type: Number },
            { name: "TempleRequeriment", type: Number },
            { name: "GuildRequeriment", type: Number },
            { name: "Designer", kind: "reference", type: Domain },
            { name: "PublicInformation", type: String },
            { name: "OwnerInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "LandUnits", kind: "collection", elementType: LandUnit },
            { name: "RowVersion", type: Array }
        ]),

        BaseSeaUnit: $defineEntity(BaseSeaUnit, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "Name", type: String },
            { name: "Type", type: Number },
            { name: "Movement", type: String },
            { name: "Melee", type: String },
            { name: "Ram", type: String },
            { name: "Missile", type: String },
            { name: "Defense", type: String },
            { name: "Hits", type: Number },
            { name: "Morale", type: String },
            { name: "Seaworthiness", type: Number },
            { name: "CargoSizeGBs", type: Number },
            { name: "CargoSizeUnits", type: Number },
            { name: "MusterCost", type: Number },
            { name: "MaintenanceCost", type: Number },
            { name: "Race", kind: "reference", type: Race },
            { name: "ProvinceRequeriment", type: Number },
            { name: "LawRequeriment", type: Number },
            { name: "TempleRequeriment", type: Number },
            { name: "GuildRequeriment", type: Number },
            { name: "Designer", kind: "reference", type: Domain },
            { name: "PublicInformation", type: String },
            { name: "OwnerInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "SeaUnits", kind: "collection", elementType: SeaUnit },
            { name: "RowVersion", type: Array }
        ]),

        RelationBaseBuildingTraits: $defineEntity(RelationBaseBuildingTraits, [
            { name: "Id", type: Number },
            { name: "BaseBuilding", kind: "reference", type: BaseBuilding },
            { name: "Trait", kind: "reference", type: Trait },
            { name: "RowVersion", type: Array }
        ]),

        GameInformation: $defineEntity(GameInformation, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "CreationDate", type: Date },
            { name: "Title", type: String },
            { name: "PublicInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "RowVersion", type: Array }
        ]),

        DomainAction: $defineEntity(DomainAction, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "BaseAction", kind: "reference", type: BaseAction },
            { name: "BaseCostGB", type: Number },
            { name: "BaseCostRP", type: Number },
            { name: "ExtraGB", type: Number },
            { name: "ExtraRP", type: Number },
            { name: "OwnerInformation", type: String },
            { name: "GMInformation", type: String },
            { name: "DomainTurn1", kind: "reference", type: DomainTurn },
            { name: "DomainTurn2", kind: "reference", type: DomainTurn },
            { name: "DomainTurn3", kind: "reference", type: DomainTurn },
            { name: "RowVersion", type: Array }
        ]),

        DomainTurn: $defineEntity(DomainTurn, [
            { name: "Id", type: Number },
            { name: "Visibility", type: Number },
            { name: "State", type: Number },
            { name: "Domain", kind: "reference", type: Domain },
            { name: "Turn", type: Number },
            { name: "TurnOwnerInformation", type: String },
            { name: "FirstRoundOwnerInformation", type: String },
            { name: "SecondRoundOwnerInformation", type: String },
            { name: "ThirdRoundOwnerInformation", type: String },
            { name: "TurnGMInformation", type: String },
            { name: "FirstRoundGMInformation", type: String },
            { name: "SecondRoundGMInformation", type: String },
            { name: "ThirdRoundGMInformation", type: String },
            { name: "FirstRoundActions", kind: "collection", elementType: DomainAction },
            { name: "SecondRoundActions", kind: "collection", elementType: DomainAction },
            { name: "ThirdRoundActions", kind: "collection", elementType: DomainAction },
            { name: "RowVersion", type: Array }
        ]),

        ApplicationData: $defineDataService(ApplicationData, lightSwitchApplication.rootUri + "/ApplicationData.svc", [
            { name: "Alignments", elementType: Alignment },
            { name: "BloodlineDerivations", elementType: BloodlineDerivation },
            { name: "BloodlineStrengths", elementType: BloodlineStrength },
            { name: "CharacterClasses", elementType: CharacterClass },
            { name: "Skills", elementType: Skill },
            { name: "Races", elementType: Race },
            { name: "Players", elementType: Player },
            { name: "Deities", elementType: Deity },
            { name: "Characters", elementType: Character },
            { name: "Domains", elementType: Domain },
            { name: "RealmSpells", elementType: RealmSpell },
            { name: "BaseActions", elementType: BaseAction },
            { name: "BaseBuildings", elementType: BaseBuilding },
            { name: "Traits", elementType: Trait },
            { name: "BaseProvinces", elementType: BaseProvince },
            { name: "Terrains", elementType: Terrain },
            { name: "RelationRaceTraits", elementType: RelationRaceTrait },
            { name: "RelationClassTraits", elementType: RelationClassTrait },
            { name: "RelationBaseProvinceBaseProvinces", elementType: RelationBaseProvinceBaseProvince },
            { name: "RelationCharacterClasses", elementType: RelationCharacterClass },
            { name: "RelationCharacterSkills", elementType: RelationCharacterSkill },
            { name: "DomainProvinces", elementType: DomainProvince },
            { name: "HoldingLaws", elementType: HoldingLaw },
            { name: "HoldingGuilds", elementType: HoldingGuild },
            { name: "HoldingTemples", elementType: HoldingTemple },
            { name: "HoldingSources", elementType: HoldingSource },
            { name: "Modifiers", elementType: Modifier },
            { name: "RelationTraitModifiers", elementType: RelationTraitModifier },
            { name: "Notifications", elementType: Notification },
            { name: "TradeRoutes", elementType: TradeRoute },
            { name: "LeyLines", elementType: LeyLine },
            { name: "LandUnits", elementType: LandUnit },
            { name: "SeaUnits", elementType: SeaUnit },
            { name: "Armies", elementType: Army },
            { name: "RelationBaseProvinceTraits", elementType: RelationBaseProvinceTrait },
            { name: "RelationSkillTraitsSet", elementType: RelationSkillTraits },
            { name: "BloodAbilities", elementType: BloodAbility },
            { name: "RelationBloodAbilityTraitsSet", elementType: RelationBloodAbilityTraits },
            { name: "RelationCharacterBloodAbilitiesSet", elementType: RelationCharacterBloodAbilities },
            { name: "BaseLandUnits", elementType: BaseLandUnit },
            { name: "BaseSeaUnits", elementType: BaseSeaUnit },
            { name: "RelationBaseBuildingTraitsSet", elementType: RelationBaseBuildingTraits },
            { name: "GameInformations", elementType: GameInformation },
            { name: "DomainActions", elementType: DomainAction },
            { name: "DomainTurns", elementType: DomainTurn }
        ], [
            {
                name: "Alignments_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.Alignments },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/Alignments(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "BloodlineDerivations_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.BloodlineDerivations },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/BloodlineDerivations(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "BloodlineStrengths_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.BloodlineStrengths },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/BloodlineStrengths(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "CharacterClasses_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.CharacterClasses },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/CharacterClasses(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "Skills_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.Skills },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/Skills(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "Races_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.Races },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/Races(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "Players_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.Players },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/Players(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "Deities_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.Deities },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/Deities(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "Characters_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.Characters },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/Characters(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "Domains_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.Domains },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/Domains(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "RealmSpells_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.RealmSpells },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/RealmSpells(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "BaseActions_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.BaseActions },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/BaseActions(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "BaseBuildings_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.BaseBuildings },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/BaseBuildings(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "Traits_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.Traits },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/Traits(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "BaseProvinces_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.BaseProvinces },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/BaseProvinces(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "Terrains_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.Terrains },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/Terrains(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "RelationRaceTraits_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.RelationRaceTraits },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/RelationRaceTraits(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "RelationClassTraits_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.RelationClassTraits },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/RelationClassTraits(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "RelationBaseProvinceBaseProvinces_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.RelationBaseProvinceBaseProvinces },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/RelationBaseProvinceBaseProvinces(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "RelationCharacterClasses_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.RelationCharacterClasses },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/RelationCharacterClasses(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "RelationCharacterSkills_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.RelationCharacterSkills },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/RelationCharacterSkills(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "ClassesNotSelectedByCharacter", value: function (characterId) {
                    return new $DataServiceQuery({ _entitySet: this.CharacterClasses },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/ClassesNotSelectedByCharacter()",
                        {
                            characterId: $toODataString(characterId, "Int32?")
                        });
                }
            },
            {
                name: "SkillsNotSelectedByCharacter", value: function (characterId) {
                    return new $DataServiceQuery({ _entitySet: this.Skills },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/SkillsNotSelectedByCharacter()",
                        {
                            characterId: $toODataString(characterId, "Int32?")
                        });
                }
            },
            {
                name: "DomainProvinces_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.DomainProvinces },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/DomainProvinces(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "HoldingLaws_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.HoldingLaws },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/HoldingLaws(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "HoldingGuilds_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.HoldingGuilds },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/HoldingGuilds(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "HoldingTemples_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.HoldingTemples },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/HoldingTemples(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "HoldingSources_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.HoldingSources },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/HoldingSources(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "RelationBaseProvinceBaseProvincesNeighbours", value: function (provinceId) {
                    return new $DataServiceQuery({ _entitySet: this.RelationBaseProvinceBaseProvinces },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/RelationBaseProvinceBaseProvincesNeighbours()",
                        {
                            provinceId: $toODataString(provinceId, "Int32?")
                        });
                }
            },
            {
                name: "BaseProvinceNeighbours", value: function (provinceId) {
                    return new $DataServiceQuery({ _entitySet: this.BaseProvinces },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/BaseProvinceNeighbours()",
                        {
                            provinceId: $toODataString(provinceId, "Int32?")
                        });
                }
            },
            {
                name: "Modifiers_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.Modifiers },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/Modifiers(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "RelationTraitModifiers_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.RelationTraitModifiers },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/RelationTraitModifiers(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "ModifiersNotSelectedByTrait", value: function (domainLevelTraitId) {
                    return new $DataServiceQuery({ _entitySet: this.Modifiers },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/ModifiersNotSelectedByTrait()",
                        {
                            domainLevelTraitId: $toODataString(domainLevelTraitId, "Int32?")
                        });
                }
            },
            {
                name: "Notifications_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.Notifications },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/Notifications(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "TradeRoutes_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.TradeRoutes },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/TradeRoutes(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "LeyLines_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.LeyLines },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/LeyLines(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "LandUnits_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.LandUnits },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/LandUnits(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "SeaUnits_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.SeaUnits },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/SeaUnits(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "Armies_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.Armies },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/Armies(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "RelationBaseProvinceTraits_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.RelationBaseProvinceTraits },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/RelationBaseProvinceTraits(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "RelationSkillTraitsSet_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.RelationSkillTraitsSet },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/RelationSkillTraitsSet(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "BloodAbilities_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.BloodAbilities },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/BloodAbilities(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "RelationBloodAbilityTraitsSet_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.RelationBloodAbilityTraitsSet },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/RelationBloodAbilityTraitsSet(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "RelationCharacterBloodAbilitiesSet_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.RelationCharacterBloodAbilitiesSet },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/RelationCharacterBloodAbilitiesSet(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "BloodAbilitiesNotSelectedByCharacter", value: function (characterId) {
                    return new $DataServiceQuery({ _entitySet: this.BloodAbilities },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/BloodAbilitiesNotSelectedByCharacter()",
                        {
                            characterId: $toODataString(characterId, "Int32?")
                        });
                }
            },
            {
                name: "BaseLandUnits_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.BaseLandUnits },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/BaseLandUnits(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "BaseSeaUnits_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.BaseSeaUnits },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/BaseSeaUnits(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "RelationBaseBuildingTraitsSet_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.RelationBaseBuildingTraitsSet },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/RelationBaseBuildingTraitsSet(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "NotificationsForPlayer", value: function () {
                    return new $DataServiceQuery({ _entitySet: this.Notifications },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/NotificationsForPlayer()",
                        {
                        });
                }
            },
            {
                name: "CharactersNotSelectedByPlayer", value: function (playerId) {
                    return new $DataServiceQuery({ _entitySet: this.Characters },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/CharactersNotSelectedByPlayer()",
                        {
                            playerId: $toODataString(playerId, "Int32?")
                        });
                }
            },
            {
                name: "CharactersOwnedByPlayer", value: function () {
                    return new $DataServiceQuery({ _entitySet: this.Characters },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/CharactersOwnedByPlayer()",
                        {
                        });
                }
            },
            {
                name: "CurrentPlayer", value: function () {
                    return new $DataServiceQuery({ _entitySet: this.Players },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/CurrentPlayer()",
                        {
                        });
                }
            },
            {
                name: "ArmiesOwnedByPlayer", value: function () {
                    return new $DataServiceQuery({ _entitySet: this.Armies },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/ArmiesOwnedByPlayer()",
                        {
                        });
                }
            },
            {
                name: "DomainsOwnedByPlayer", value: function () {
                    return new $DataServiceQuery({ _entitySet: this.Domains },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/DomainsOwnedByPlayer()",
                        {
                        });
                }
            },
            {
                name: "TradeRoutesInDomainProvince", value: function (provinceId) {
                    return new $DataServiceQuery({ _entitySet: this.TradeRoutes },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/TradeRoutesInDomainProvince()",
                        {
                            provinceId: $toODataString(provinceId, "Int32?")
                        });
                }
            },
            {
                name: "LeyLinesOwnedByDomain", value: function (domainId) {
                    return new $DataServiceQuery({ _entitySet: this.LeyLines },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/LeyLinesOwnedByDomain()",
                        {
                            domainId: $toODataString(domainId, "Int32?")
                        });
                }
            },
            {
                name: "TradeRoutesOwnedByDomain", value: function (domainId) {
                    return new $DataServiceQuery({ _entitySet: this.TradeRoutes },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/TradeRoutesOwnedByDomain()",
                        {
                            domainId: $toODataString(domainId, "Int32?")
                        });
                }
            },
            {
                name: "BaseLandUnitsOwnedByPlayer", value: function () {
                    return new $DataServiceQuery({ _entitySet: this.BaseLandUnits },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/BaseLandUnitsOwnedByPlayer()",
                        {
                        });
                }
            },
            {
                name: "BaseSeaUnitsOwnedByPlayer", value: function () {
                    return new $DataServiceQuery({ _entitySet: this.BaseSeaUnits },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/BaseSeaUnitsOwnedByPlayer()",
                        {
                        });
                }
            },
            {
                name: "BaseBuildingsOwnedByPlayer", value: function () {
                    return new $DataServiceQuery({ _entitySet: this.BaseBuildings },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/BaseBuildingsOwnedByPlayer()",
                        {
                        });
                }
            },
            {
                name: "RealmSpellsOwnedByPlayer", value: function () {
                    return new $DataServiceQuery({ _entitySet: this.RealmSpells },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/RealmSpellsOwnedByPlayer()",
                        {
                        });
                }
            },
            {
                name: "LeyLinesInDomainProvince", value: function (provinceId) {
                    return new $DataServiceQuery({ _entitySet: this.LeyLines },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/LeyLinesInDomainProvince()",
                        {
                            provinceId: $toODataString(provinceId, "Int32?")
                        });
                }
            },
            {
                name: "GameInformations_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.GameInformations },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/GameInformations(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "DomainActions_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.DomainActions },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/DomainActions(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "DomainTurns_SingleOrDefault", value: function (Id) {
                    return new $DataServiceQuery({ _entitySet: this.DomainTurns },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/DomainTurns(" + "Id=" + $toODataString(Id, "Int32?") + ")"
                    );
                }
            },
            {
                name: "DomainTurnsOwnedByPlayer", value: function () {
                    return new $DataServiceQuery({ _entitySet: this.DomainTurns },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/DomainTurnsOwnedByPlayer()",
                        {
                        });
                }
            },
            {
                name: "ArmiesScoutReport", value: function () {
                    return new $DataServiceQuery({ _entitySet: this.Armies },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/ArmiesScoutReport()",
                        {
                        });
                }
            },
            {
                name: "DomainProvincesSortedByFullName", value: function () {
                    return new $DataServiceQuery({ _entitySet: this.DomainProvinces },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/DomainProvincesSortedByFullName()",
                        {
                        });
                }
            },
            {
                name: "GuildHoldingsSorted", value: function () {
                    return new $DataServiceQuery({ _entitySet: this.HoldingGuilds },
                        lightSwitchApplication.rootUri + "/ApplicationData.svc" + "/GuildHoldingsSorted()",
                        {
                        });
                }
            }
        ]),

        DataWorkspace: $defineDataWorkspace(DataWorkspace, [
            { name: "ApplicationData", type: ApplicationData }
        ])

    });

}(msls.application));
